In today's information age, information is often carried over a communication network. One key component in modern communication networks is the router. A router is used to forward information packets in the communication network.
Routers implement various protocols for determining routes in the communication network. The routers then use these routes to set up forwarding tables that are used for forwarding information packets. For convenience, the logic that determines and distributes routes within the router is often referred to as the “control plane” of the router, while the logic that forwards information packets within the router is often referred to as the “forwarding plane” of the router.
An ever-increasing demand for communication services has driven the advancement of routing technologies. Routing technologies has evolved to include enhanced routing protocols, faster hardware components, and more advanced software implementations. There have been at least three distinct generations of routing models.
A first generation routing model, an example of which is shown in FIG. 1, generally supports a relatively few low-speed interfaces (e.g., 10 Mbps Ethernet, 4 Mbps Token Ring, 56 Kbps synchronous) and a limited number of routing protocols (e.g., RIP, EGP). The control plane and forwarding plane are typically combined in a single executable software image running on a single processing card within the router. A centralized routing table is typically used for storing network routes.
A second generation routing model, an example of which is shown in FIG. 2, generally supports a larger number of higher-speed interfaces (e.g., T1, fractional T1, FDDI), has higher packet throughput rates, and supports a large number of routing protocols (e.g., RIP, BGP, OSPF, IS-IS, XNS, VINES, APPN, AppleTalk, DECnet, IPX, OSI). The control plane and forwarding plane are typically combined in a single executable software image distributed across multiple processing cards. The routing table is also distributed across multiple processing cards.
A third generation routing model generally supports even higher-speed interfaces (e.g., OC-3, OC-12, OC-48), has even higher packet throughput rates, is capable of forwarding information packets at full line rate, and supports a limited number of routing protocols (e.g., RIP2, BGP, OSPF, IS-IS). The control plane and forwarding plane are typically split into two separate executable software images. The forwarding plane is typically distributed across multiple processing cards (referred to as “forwarding processor cards”). The control plane is typically isolated to a single processing card (referred to as the “service processor card”). A centralized routing table is typically used for storing network routes. In one variation of the third generation model, an example of which is shown in FIG. 3, a separate low-speed bus is used for carrying control plane traffic between the service processor card and the forwarding processor cards so that the control plane traffic does not interfere with the forwarding plane traffic. In another variation of the third generation model, an example of which is shown in FIG. 4, the control plane is isolated to a completely separate server connected to the router's main elements by a Gigabit Ethernet link. In yet another variation of the third generation model, an example of which is shown in FIG. 5, the control plane is not only isolated to a single service processor card, but is further split into routing control and box management control images that run on separate processors on the service processor card.
In today's modern communication networks, which generally use third generation routers, various factors affect router performance.
One factor that affects router performance is the growth of the Internet. The Internet has seen substantial growth, due in part to the increasing use of the Internet (and specifically the World Wide Web) by businesses and individuals and the growing number of Internet Service Providers (ISPs). With this Internet growth, there has been a substantial increase in the size of the global Border Gateway Protocol (BGP) routing table. Furthermore, each ISP needs at least one Autonomous System (AS) number, and many ISPs provide redundant Network Access Points (referred to as “multi-homing”). This has resulted in a substantial increase in usage of the Autonomous System (AS) number space, and there is an effort under way to expand the AS number space [29]. There are many signs that the Internet will continue to grow at a fast pace [28].
As a result of this Internet growth, it is common for routers to experience a large number of route changes. For example, a typical ISP experiences over 9000 route changes to its Routing Information Base (RIB) each day, with roughly 327 routes disappearing or deleted, 938 new routes added, 7842 routes modified, and 61,934 routes remaining unchanged [1]. These route changes place a huge burden on the network routers that will only get worse as the Internet grows.
Another factor that affects router performance is the growing use of Virtual Private Networks (VPNs). VPNs allow service providers to provide IP backbone services to their clients [26] [27]. Client sites connect to the common backbone network, and are grouped into a number of subsets, where each subset is a VPN. Two sites may have IP interconnectivity over the backbone only if both sites are members of the same VPN (i.e., each VPN is a separate routing domain). Within a VPN, Multiprotocol Label Switching (MPLS) is used to forward packets over the common IP backbone, and MBGP is used to distribute VPN routes over the backbone. At this time, service providers would like VPN edge routers to support up to 1500 VPN Virtual Routing and Forwarding (VFR) tables with an average size of 2000 routes each.
Yet another factor that affects router performance is the need for faster routing protocol convergence. Among other things, faster routing protocol convergence increases network reliability by reducing periods during which routes are unavailable, enables streaming data applications such as Voice-over-IF by reducing the number of dropped packets due to convergence, and eliminates the need to use more expensive and complex layer 2 protection schemes such as SONET [4] [16]. Changes to IS-IS [2] [21] and OSPF [18] are proposed for achieving faster IGP convergence times, specifically by running faster Hello timers.
Still another factor that affects router performance is the adoption of various new routing technologies. These new routing technologies include outbound route filters [7] [8] [22] that allow a local BGP peer to send to its remote peer a set of route filters that the remote peer uses to filter its outbound routing updates, route refresh [6] that allows a local BGP peer to dynamically request a re-advertisement of its remote peer's routes, graceful restart [23] that allows a local BGP peer to retain routing information across a TCP session reset, and routing table protection that improves protection of the routing table from bogus route updates and from attacks from unauthorized routers, for example, using MD5 signatures between routing pairs [3] [12] [20] [25].
Still another factor that affects router performance is control plane scaling [14] [15]. One reason why today's routers do not scale well is that control plane processing grows at a slower rate than packet processing capability. As the packet processing capability is increased, with additional forwarding processor cards, the control plane processing from the service processor card needs to be shared equally among the forwarding processor cards. This means that any one forwarding processor card gets a smaller share of the control plane processing power as forwarding processor cards are added. As a result, the best level of performance is achieved with the minimum router configuration, when the ratio between control plane processing power and packet processing capability is the lowest.